/**
 * 
 * 登录逻辑：
 * 获得手机号查询数据库是否有此对象，没有的话，就让他注册
 * 
 */
const api = require("../config/api");
const requestUtil = require("./request");

/**
 * 登录方法
 * @description 这里是用来获取手机号登录的
 * @date 2021-08-08
 * @author hhk
 * @params encryptedData 包括敏感数据在内的完整用户信息的加密数据
 * @params iv 加密算法的初始向量
 */
const login = (encryptedData, iv) => {
  return new Promise((resolve, reject) => {
    // 调用登录接口
    wx.login({
      timeout: 12000, // 超时时间12秒
      success: res => {
        let ress = thirdLogin({
          code: res.code,
          encryptedData: encryptedData,
          iv: iv
        })
        resolve(ress)
      },
      fail: err => {
        console.error("登录失败，原因为：", err);
      }
    });
  })
}

const thirdLogin = (data) => {
  let url = api.login;
  return new Promise((resolve, reject) => {
    requestUtil.request('POST', url, data)
      .then(res => {
        resolve(res)
      })
      .catch(err => {
        console.error("登录失败，原因为：", e)
      })
  })
}

module.exports = {
  login: login
}